package com.mall.model;


import lombok.Data;

import java.math.BigDecimal;

/**
 * 商品查询条件对象
 * 用于封装商品查询的各种筛选条件
 *
 * @author Your Name
 * @date 2024-01-01
 */
@Data
public class ProductQuery {

    /**
     * 商品名称关键词
     * 支持商品名称和简介的模糊查询
     */
    private String keyword;

    /**
     * 品牌ID
     * 按品牌筛选商品
     */
    private Long brandId;

    /**
     * 分类ID
     * 按商品分类筛选
     */
    private Long categoryId;

    /**
     * 商品状态
     * 1: 上架, 0: 下架
     */
    private Integer status;

    /**
     * 热门状态
     * 1: 热门, 0: 非热门
     */
    private Integer isHot;

    /**
     * 页码
     * 用于分页查询，从1开始
     */
    private Integer page;

    /**
     * 每页大小
     * 每页显示的记录数
     */
    private Integer size;

    /**
     * 排序字段
     * 如：create_time, price, sales_count
     */
    private String sortField;

    /**
     * 排序方向
     * asc: 升序, desc: 降序
     */
    private String sortOrder;

    /**
     * 最小价格
     * 价格区间查询
     */
    private BigDecimal minPrice;

    /**
     * 最大价格
     * 价格区间查询
     */
    private BigDecimal maxPrice;

    /**
     * 最小库存
     * 库存区间查询
     */
    private Integer minStock;

    /**
     * 最大库存
     * 库存区间查询
     */
    private Integer maxStock;
}